1. Field of the Invention
The present invention relates to the field of the correction of errors that may have been generated during the transmission of a signal. In particular, it concerns a method and an encoder for implementing a Linear Block Code (LBC) characterised by a great length and a correcting capacity higher than that of the known solutions.
2. Description of the Prior Art
Linear block codes are known, and their use in the field of telecommunications is also known. In order to implement the code, an encoder is provided at the transmitting end and a decoder (error corrector) at the receiving end.
The encoder receives of a certain number of strings of k information symbols (information to be transmitted) as input and supplies strings of n symbols, with n>k, as an output. The receiver receives the strings of n symbols, which may be more or less corrupted by the transmission channel, and reconstructs the k symbols of the information string.
In other words, the receiver compensates for the errors introduced by the channel on the basis of the n−k redundancy symbols added during transmission. If, for example, the symbols are bits, there are 2k possible strings of information. Each of the 2k strings of code corresponds to each string. The code is therefore these 2k words of n bits, as a whole.
The linearity consists of the fact that the combination (the sum, for example) of two code strings/words is also a code string.
As can be imagined, the correcting capacity of the code depends (as well as on its structure), on the length (n) and on the number of redundant symbols (n−k). Generally speaking, performance rises as (n−k) increases and, the k/n ratio being equal, it rises as the length (n) increases.
To complete the description, a definition of systematic code is also provided. A “systematic code” is defined as a code that allows the (k) information symbols to pass through unaltered and adds the (n−k) parity symbols.
The procedure for calculating the n−k parity symbols starting from the k information symbols is well known, and is a linear operation.
The interleaving of two linear block codes with the aim of achieving a correcting capacity higher than that of conventional linear block codes, as in so-called Product Vector Codes (PVC's), is a known procedure. The main disadvantage of PVC's consists in the limitations of the rectangular interleaver (in which the code words are the rows and the columns of the structure, thus in order to pass from one code to another code the interleaver writes by rows and reads by columns and vice versa).
Block code structures with unprotected dual redundancy are also known. The disadvantage of such code structures is that they provide a lower code correcting capacity. Indeed, while the information symbols are bi-protected, the parity/redundancy symbols are not.
Finally, partially protected block code structures with double redundancy that only partly solve the problem of the lowered correcting capacity of the code are known.